﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyBanHang_NewApp.BUS;
using QuanLyBanHang_NewApp.Entity;

namespace QuanLyBanHang_NewApp
{
    public partial class FormNhaCungCap : Form
    {
        private NhaCungCapBUS nccBUS;
        bool them = false;
        public FormNhaCungCap(int quyen)
        {
            nccBUS = new NhaCungCapBUS();
            InitializeComponent();
            if (quyen == 0) panelButton.Enabled = false;
        }

        private void FormNhaCungCap_Load(object sender, EventArgs e)
        {
            datagridNcc.DataSource = nccBUS.getAllNCC();
            datagridNcc.Columns[0].HeaderText = "Mã nhà cung cấp";
            datagridNcc.Columns[1].HeaderText = "Tên nhà cung cấp";
            datagridNcc.Columns[2].HeaderText = "Địa chỉ";
            datagridNcc.Columns[3].HeaderText = "Số điện thoại";
        }

        private void btn_them_Click(object sender, EventArgs e)
        {
            panelInput.Enabled = true;
            them = true;
            btn_luu.Enabled = true;
            btn_huy.Enabled = true;
            panelButton.Enabled = false;
        }

        private void btn_sua_Click(object sender, EventArgs e)
        {
            panelInput.Enabled = true;
            panelButton.Enabled = false;
            txtMancc.Text = datagridNcc.SelectedRows[0].Cells[0].Value.ToString();
            txtTenncc.Text = datagridNcc.SelectedRows[0].Cells[1].Value.ToString();
            txtDiachincc.Text = datagridNcc.SelectedRows[0].Cells[2].Value.ToString();
            txtSdtncc.Text = datagridNcc.SelectedRows[0].Cells[3].Value.ToString();
            them = false;
            btn_huy.Enabled = true;
            btn_luu.Enabled = true;
        }

        private void btn_xoa_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Bạn có chắc muốn xóa nhà cung cấp này?", "Confirm", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    int id = int.Parse(datagridNcc.SelectedRows[0].Cells[0].Value.ToString());
                    nccBUS.xoaNCC(id);
                    MessageBox.Show("Xóa nhà cung cấp thành công");
                    datagridNcc.DataSource = nccBUS.getAllNCC();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Chọn nhà cung cấp cần xóa");
            }
        }

        private void btn_huy_Click(object sender, EventArgs e)
        {
            txtMancc.Text = "";
            txtTenncc.Text = "";
            txtDiachincc.Text = "";
            txtSdtncc.Text = "";
            panelInput.Enabled = false;
            panelButton.Enabled = true;
            btn_huy.Enabled = false;
            btn_luu.Enabled = false;
            them = false;
        }

        private void btn_thoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btn_luu_Click(object sender, EventArgs e)
        {
            try
            {
                if (them)
                {
                    NhaCungCap ncc = new NhaCungCap(0, txtTenncc.Text, txtDiachincc.Text, txtSdtncc.Text);
                    if (nccBUS.themNCC(ncc))
                    {
                        MessageBox.Show("Thêm nhà cung cấp thành công");
                        txtTenncc.Text = "";
                        txtDiachincc.Text = "";
                        txtSdtncc.Text = "";
                        them = false;
                        panelInput.Enabled = false;
                        panelButton.Enabled = true;
                        btn_huy.Enabled = false;
                        btn_luu.Enabled = false;
                        datagridNcc.DataSource = nccBUS.getAllNCC();
                    }
                    else
                    {
                        MessageBox.Show("Lỗi khi thêm nhà cung cấp");
                    }

                }
                else
                {
                    NhaCungCap ncc = new NhaCungCap(long.Parse(txtMancc.Text), txtTenncc.Text, txtDiachincc.Text, txtSdtncc.Text);
                    if (nccBUS.suaNCC(ncc))
                    {
                        MessageBox.Show("Cập nhật sản phẩm thành công");
                        datagridNcc.DataSource = nccBUS.getAllNCC();
                        txtMancc.Text = "";
                        txtTenncc.Text = "";
                        txtDiachincc.Text = "";
                        txtSdtncc.Text = "";
                        panelButton.Enabled = true;
                        panelInput.Enabled = false;
                        btn_luu.Enabled = false;
                        btn_huy.Enabled = false;
                        
                    }
                    else
                    {
                        MessageBox.Show("Lỗi khi sửa sản phẩm");
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Có lỗi !!");
            }
        }

        private void btn_timkiem_Click(object sender, EventArgs e)
        {
            try
            {
                datagridNcc.DataSource = nccBUS.getByName(txtTimkiemncc.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Không tìm thấy nhà cung cấp");
            }
        }

        private void txtSdtncc_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsControl(e.KeyChar) && !Char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }
    }
}
